home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / HardwareProjects / autofire.lha / Rapid-Fire.doc next >
Text File  |  1991-12-31  |  4KB  |  61 lines

  1. In order to keep up with the fast paced arcade action built into today's
  2. computer games, it is often necessary to come up with an edge. Sometimes
  3. you need to be able to shoot 30 to 50 aliens a second, or blast tunnels
  4. through solid raster.  With the device presented here, you will be able
  5. to modify your favorite joystick to become an adjustable switch select-
  6. able rapid fire menace!
  7.  
  8.     This project should work on any Atari-style joystick interface using 
  9. DB-9s, including Amigas, C-64's and C-128's, Atari ST's etc. and even many
  10. console machines.
  11.  
  12.     The circuit developed to do this has been optimized to a single CMOS
  13. gate package (4011) and a few capacitors and resistors. It generates a
  14. 50% duty cycle square wave, which is important for programs which respond
  15. to the highest rates of fire. Imagine the program sampling the port for
  16. fire button presses trying to see a signal that is only on for 10% of the
  17. time. Many of these signals would go unnoticed at high rates of fire. 
  18. This circuit does not suffer from a duty cycle problem unlike many 555 IC
  19. based designs.  It should also function well on a wide variety of supply
  20. voltages (+3 and up) although +5v is the recommended voltage. 
  21.  
  22.     It uses a 50K to 100K potentiometer to control the rate.  There is
  23. an LED to indicate when the fire button is pressed in normal mode, or at
  24. what rate it is firing in rapid-fire mode. And of course, there is a  switch
  25. to select between normal and rapid-fire modes. The circuit is designed around
  26. a pair of NAND gates wired up as a free running oscillator. An additional 
  27. NAND gate is used on the input, to invert the incoming signal from the fire
  28. button on the joystick, and to enable the oscillator. The output from the
  29. oscillator drives a small LED and the final NAND gate,  which reinverts
  30. the signal, making it the right polarity for the computer. Before the output
  31. from the last NAND gate gets to the computer, it is passed through a small
  32. signal diode to keep the signal active only when low.
  33.  
  34.     When constructing the circuit, it is possible to make it small enough
  35. to fit in an existing joystick. This takes some patience and practice, but
  36. the results are well worth the added brainwork & effort. Alternately, it 
  37. may be place in a small box in-line between a joystick and the computer.
  38. The only disadvantage with this approach is that the enable/disable switch
  39. is not as convienient to reach.  Take whatever approach you like, it's easy
  40. enough to build several, or remove them if you don't like them.
  41.  
  42. In most joysticks only up, down, left, right, fire and ground are wired
  43. to the computer, the +5v signal is absent from the cable. In order to power
  44. the circuit, you must get a cable that has all nine wires, or perhaps, add
  45. external power (A 9 volt battery may suffice). If your joystick does not 
  46. have the necessary wires, I suggest you go to your local Radio Shack, and
  47. purchase a joystick extension cord. These cords are 10 feet long and pass
  48. all 9 wires!  Cut off the male end & use the rest on your joystick, or
  49. save a few feet of wire and the male end for your next hacker project.
  50.  
  51. Use the diagram in the included IFF picture to wire up your rapid-fire
  52. module. Be careful when wiring up the 9-pin connector to your computer,
  53. a short circuit could cause permanent damage. The IC used here is CMOS,
  54. and sensitive to static discharge, so take the normal precautions when
  55. handling it. Good Luck!
  56.  
  57. This text file and picture can be redistributed as long as the credits
  58. remain intact. 
  59.     -Mark Spankus
  60.     (Mark @ Shorty.CS.wisc.edu)
  61.